﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using UricaoWeb.LogicaDeNegocios.Reservas;

namespace UricaoWeb.Presentacion
{
    public partial class API_reservar_RoomService : API_Seguridad_Principal
    {
        private LogicaReservas _logica = new LogicaReservas();
        protected void Page_Load(object sender, EventArgs e)
        {
            var master = Master as MasterPage;
            if (master != null)
            {
                master.actualizar_label();
            }
            base.validar_usuario();
        }
        private bool ReservarRoomService(int _CodigoReservacion, int _fkPlato)
        {

            bool _insertar = _logica.ReservarRoomService(_CodigoReservacion, _fkPlato);
            return _insertar;
        }
        /// <summary>
        /// Anade platos al Room service
        /// </summary>
        protected void Añadir_Click(object sender, EventArgs e)
        {
            PedidoAnadido.Items.Add(Pedido.SelectedItem);
        }
        /// <summary>
        /// Elimina platos al Room service
        /// </summary>
        protected void Eliminar_Click(object sender, EventArgs e)
        {
            PedidoAnadido.Items.Remove(Pedido.SelectedItem);
        }
        /// <summary>
        /// Redirecciona a consultar reserva
        /// </summary>
        protected void BAceptar_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(tbCodigoReservacion.Text) || PedidoAnadido.Items.Count == 0)
            {
                Show("¡ERROR!, ¡Añada al menos un plato");
            }
            else
            {
                foreach (ListItem item in PedidoAnadido.Items)
                {
                    _logica.ReservarRoomService(Int32.Parse(tbCodigoReservacion.Text), Int32.Parse(item.Value));
                }
                Response.Redirect("http://localhost:11510/Presentacion/API_reservar_ConsultarReserva.aspx");
            }
        }
        /// <summary>
        /// Redirecciona a principal reserva
        /// </summary>
        protected void BRegresar_Click(object sender, EventArgs e)
        {
            Response.Redirect("http://localhost:11510/Presentacion/API_reservar_PrincipalReservar.aspx");
        }

        /// <summary>
        /// Verifica la existencia del cliente
        /// </summary>
        protected void BbVerificar_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(tbCodigoReservacion.Text))
            {
                Show("¡ERROR!, ¡Verifique que el codigo de reserva este lleno! y presione nuevamente");
            }
            else
            {
                tbCliente.Text = _logica.ConsultarInformacionCliente(Int32.Parse(tbCodigoReservacion.Text));
                //tbCodigoReservacion.ReadOnly = true;
            }
        }

        /// <summary>
        /// Redirecciona a consultar reserva
        /// </summary>
        public static void Show(string message)
        {
            string cleanMessage = message.Replace("'", "\'");
            Page page = HttpContext.Current.CurrentHandler as Page;
            string script = string.Format("alert('{0}');", cleanMessage);
            if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert"))
            {
                page.ClientScript.RegisterClientScriptBlock(page.GetType(), "alert", script, true /* addScriptTags */);
            }

        }

    }
}